python中读取txt文件

您所在的位置:网站首页 python read readline readlines的区别 python中读取txt文件

python中读取txt文件

#python中读取txt文件| 来源: 网络整理| 查看: 265

在很多时候可能需要读取某个txt文件,例如在蓝桥杯的填空题中很多时候都需要读入一个文本文件(读取txt文件是必须要学会的操作),并且需要计算文本文件中的某些内容。对于python语言来说,常见的读取txt文件一般有三种方法,分别为read/readline/readlines

① read方法读取的是整个文件,并且方法的返回值为str字符串类型

② readline方法是每次读取的是文件的一行内容,并且方法的返回值为str字符串类型

③ readlines方法读取的是整个文件,方法的返回值为list列表,读取文件的每一行作为list中的一个元素,我们通过遍历读取到的文件将其加入一个列表中这样循环结束之后就可以得到以字符串类型的二维列表(经常使用到的这个方法来读取整个文件,这样遍历得到的文件对象最终转换为了二维列表,转换为了二维列表就可以使用索引的方式访问列表中的内容)而且readlines()方法比readline()方法读取速度快很多,当没有足够内存读入整个文件的时候那么可以使用readline()方法逐行进行读取 使用readlines()方法读取文件,遍历文件中的每一行最终将读取的文件转换为一个二维列表:

if __name__ == '__main__': f = open("data.txt", "r") res = f.read() print(type(res)) print(res) f.close() f = open("data.txt", "r") res = f.readlines() t = list() for cur in res: # strip方法去除每一行的换行符 t.append(list(cur.strip("\n"))) # t为一个二维列表 print(t) f.close() 202002022 202020020 202020202 202020020

使用readline()方法读取两个文件判断文件从哪一行开始不同,这个方法在两个大文件中找出第一个不同行会很有用,并且在遍历的时候可以计算文件的行数:

if __name__ == '__main__': file1 = open("D:/output/output1.txt", "r+") file2 = open("D:/output/output2.txt", "r+") txt1 = file1.readline() txt2 = file2.readline() count = 0 while txt1 and txt2: if txt1 != txt2: print(txt1) print(txt2) break # 文件不同的行数 count += 1 # 继续读取文件的一行 txt1 = file1.readline() txt2 = file2.readline() # 输出哪一行不同 print(count)

使用readline()方法逐行读取文件直到文件末尾

if __name__ == '__main__': # 指定读取的编码格式 f = open("data2.txt", "r", encoding="UTF-8") txt = f.readline() # txt是否为空可以作为判断文件是否到了末尾 while txt: print(txt, end="") # 读取文件的下一行 txt = f.readline() f.close()

除了上面使用read/readline/readlines方法读取文件之外,还可以不使用这些方法,直接遍历open方法返回的文件对象,在遍历的时候其实得到的是文件中每一行,并且每一行的内容为str字符串类型:

if __name__ == '__main__': f = open("data3.txt", "r", encoding="UTF-8") for line in f: print(line)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3